Skip to content

Remove the legacy Plugin Applier API - #10

Merged
ScriptedAlchemy merged 7 commits into
mainfrom
cleanup/migrate-legacy-apis
Sep 16, 2026
Merged

ScriptedAlchemy merged 7 commits into
mainfrom
cleanup/migrate-legacy-apis

Conversation

@ScriptedAlchemy

@ScriptedAlchemy ScriptedAlchemy commented Sep 16, 2026

Copy link
Copy Markdown
Owner

Summary

  • send confirmed plugin and skill handoffs directly through gbot send
  • delete the dead Applier queue, ack, install, and missing_attach_api paths
  • keep only Cursor and portable generated targets
  • make the existing logo reachable from generated artifacts and remove stale apply-flow screenshots
  • rebase the change onto main after docs: artifact-branch clone install for Cursor #9 merged

Verification

  • npm run check (validate, build, 18 tests, artifact validation, packed clean-consumer smoke)
  • generated artifact contains install.mjs, INSTALL.md, .cursor-plugin/plugin.json, and portable plugin.json; no Claude/Codex manifests
  • packed Doctor: 0 errors (warnings only for unrelated stale runtime socket/lock state)
  • independent Fable change-risk review: no findings after follow-up

assets/data/** and scripts/** remain because they are live generated runtime paths used by the bundled server, command, and packed smoke. The pre-#7 handwritten installer files remain deleted. This private package does not use changesets.

Post-merge proof

  • main CI and Publish Agent Bundle succeeded for 8b41f0a1e2bf547d54c9fc5b8e305ffba488781c
  • agent-bundle-artifact updated to 5aa31ac6c5d841b5a630d9b018a493fa22105b72
  • clean isolated clone: node ./install.mjs, then npx --no-install agent-bundle doctor --from . --host cursor → 0 errors (2 unrelated stale-runtime warnings, 1 host-observability info)

@changeset-bot

changeset-bot Bot commented Sep 16, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: bbf7501

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 16, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-16T08:25:59.577293Z e08279b PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e08279b6cd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread server.js
? `the "${skill.name}" skill from the "${plugin.name}" plugin`
: `the "${plugin.name}" plugin`;
try {
await sendToBot(bot_ref, `Use ${subject} for the current task.`);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Reject cross-origin direct-send requests

When the explorer is running and a browser permits cross-origin loopback requests, any webpage can issue a no-cors POST with a text/plain JSON body because readBody ignores the content type and this route checks neither Origin nor a CSRF token. Supplying a known bot/group ID therefore reaches this immediate gbot send call without the confirmation click promised by the UI, potentially prompting that target unsolicited; require a same-origin/CSRF check before executing the command.

Useful? React with 👍 / 👎.

@ScriptedAlchemy
ScriptedAlchemy merged commit 8b41f0a into main Sep 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant